package com.yh.gulimall.search.thread;

import java.util.concurrent.*;

public class ThreadPoolTest {
    public static void main(String[] args) {
        /**
         * 1.七大参数
         *1）、核心线程数 2）、最大线程数量
         *3）、空闲线程被回收的时间 4）、时间的单位
         *5）、待执行任务的队列
         *LinkedBlockingQueue<>()默认Integer最大值
         *6）、创建线程的工厂
         *7）、拒绝策略
         * 2.四大拒绝策略-》默认是直接丢掉
         *1、哪来回哪去
         *2、丢弃任务，抛出异常
         *3、丢弃任务，不抛出异常
         *上边两个丢弃，丢的都是新的任务
         *4、和早起任务进行竞争
         *丢弃最老的任务
         */

        ThreadPoolExecutor executor = new ThreadPoolExecutor(5,
                200,
                10,
                TimeUnit.SECONDS,
                new LinkedBlockingQueue<>(100000),
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.AbortPolicy());
    }
}
